home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / wwbbs31_source.lha / WWBBS / RxSrc / rx.h < prev    next >
C/C++ Source or Header  |  1995-06-20  |  8KB  |  289 lines

  1. struct Library *WorldWideBase;
  2. struct Library *RexxSysBase;
  3.  
  4. BOOL panic=FALSE;
  5.  
  6. void ABBEREXXCommand(BYTE *,UWORD,BYTE *,char *,char **,char **,long *);
  7. void SystemCommand(BYTE *,UWORD,BYTE *,char *,char **,char **,long *);
  8. void EmailCommand(BYTE *,UWORD,BYTE *);
  9. void MessageBaseCommand(BYTE *,UWORD,BYTE *);
  10. void FileBaseCommand(BYTE *,UWORD,BYTE *);
  11.  
  12. BOOL GetNextArea(BYTE *,BYTE *);
  13. BOOL GetPreviousArea(BYTE *,BYTE *);
  14.  
  15. struct Command {
  16.     UBYTE cmd_Group;
  17.     BYTE *cmd_Name;
  18.     UWORD cmd_ID;
  19. };
  20.  
  21. enum {
  22.     GROUP_ABBEREXX=1,
  23.     GROUP_System,
  24.     GROUP_Email,
  25.     GROUP_MessageBase,
  26.     GROUP_FileBase
  27. };
  28.  
  29. enum {
  30.     ABBEREXX_BBSIdentify=1,
  31.     ABBEREXX_CheckAbort,
  32.     ABBEREXX_CLS,
  33.     ABBEREXX_GetCarrier,
  34.     ABBEREXX_GetChar,
  35.     ABBEREXX_GetUser,
  36.     ABBEREXX_HangUp,
  37.     ABBEREXX_IReady,
  38.     ABBEREXX_MayGetChar,
  39.     ABBEREXX_NewLine,
  40.     ABBEREXX_Print,
  41.     ABBEREXX_Prompt,
  42.     ABBEREXX_Query,
  43.     ABBEREXX_Receive,
  44.     ABBEREXX_Send,
  45.     ABBEREXX_SendFile,
  46.     ABBEREXX_SetNodeLocation,
  47.     ABBEREXX_SysopLog
  48. };
  49.  
  50. enum {
  51.     SYS_ANSIDetect=1,
  52.     SYS_ChatRequest,
  53.     SYS_Delay,
  54.     SYS_DoLogoff,
  55.     SYS_DoLogon,
  56.     SYS_DosCommand,
  57.     SYS_EditPrefs,
  58.     SYS_EditUser,
  59.     SYS_Logon,
  60.     SYS_PageUser,
  61.     SYS_ReadNews,
  62.     SYS_Register,
  63.     SYS_RunMenu,
  64.     SYS_ShowStats,
  65.     SYS_StartTimer,
  66.     SYS_StopTimer,
  67.     SYS_UserEditor,
  68.     SYS_UserList,
  69.     SYS_ValidateNewUsers,
  70.     SYS_WhoIsOnline
  71. };
  72.  
  73. enum {
  74.     EMAIL_Next=1,
  75.     EMAIL_Current,
  76.     EMAIL_Previous,
  77.     EMAIL_JumpTo,
  78.     EMAIL_List,
  79.     EMAIL_Write,
  80.     EMAIL_ReplyTo,
  81.     EMAIL_Delete,
  82.     EMAIL_Feedback,
  83.     EMAIL_ShowNew
  84. };
  85.  
  86. enum {
  87.     MSG_InitGlobal=1,
  88.     MSG_EditSearchPatterns,
  89.     MSG_JoinArea,
  90.     MSG_ChangeArea,
  91.     MSG_ParentArea,
  92.     MSG_NextArea,
  93.     MSG_PreviousArea,
  94.     MSG_NextUnread,
  95.     MSG_Current,
  96.     MSG_NextThread,
  97.     MSG_PreviousThread,
  98.     MSG_JumpToThread,
  99.     MSG_ListThreads,
  100.     MSG_NextResponse,
  101.     MSG_PreviousResponse,
  102.     MSG_JumpToResponse,
  103.     MSG_ListResponses,
  104.     MSG_SearchNext,
  105.     MSG_Catchup,
  106.     MSG_Write,
  107.     MSG_ReplyTo,
  108.     MSG_MailReplyTo,
  109.     MSG_Kill,
  110.     MSG_EditAreaDescription
  111. };
  112.  
  113. enum {
  114.     FILE_InitGlobal=1,
  115.     FILE_EditSearchPatterns,
  116.     FILE_JoinArea,
  117.     FILE_ChangeArea,
  118.     FILE_ParentArea,
  119.     FILE_NextArea,
  120.     FILE_PreviousArea,
  121.     FILE_Next,
  122.     FILE_Current,
  123.     FILE_Previous,
  124.     FILE_Jump,
  125.     FILE_List,
  126.     FILE_SearchNext,
  127.     FILE_Catchup,
  128.     FILE_Upload,
  129.     FILE_Download,
  130.     FILE_ClearTagList,
  131.     FILE_EditTagList,
  132.     FILE_Tag,
  133.     FILE_ViewArchive,
  134.     FILE_ReadTextFile,
  135.     FILE_UploadFromDisk,
  136.     FILE_Kill,
  137.     FILE_Move,
  138.     FILE_EditDescription,
  139.     FILE_EditAreaDescription
  140. };
  141.  
  142. struct Command cmds[]={
  143.     { GROUP_ABBEREXX,"BBSIDENTIFY",ABBEREXX_BBSIdentify },
  144.     { GROUP_ABBEREXX,"CHECKABORT",ABBEREXX_CheckAbort },
  145.     { GROUP_ABBEREXX,"CLS",ABBEREXX_CLS },
  146.     { GROUP_ABBEREXX,"GETCARRIER",ABBEREXX_GetCarrier },
  147.     { GROUP_ABBEREXX,"GETCHAR",ABBEREXX_GetChar },
  148.     { GROUP_ABBEREXX,"GETUSER",ABBEREXX_GetUser },
  149.     { GROUP_ABBEREXX,"HANGUP",ABBEREXX_HangUp },
  150.     { GROUP_ABBEREXX,"IREADY",ABBEREXX_IReady },
  151.     { GROUP_ABBEREXX,"CHECKIO",ABBEREXX_IReady },
  152.     { GROUP_ABBEREXX,"MAYGETCHAR",ABBEREXX_MayGetChar },
  153.     { GROUP_ABBEREXX,"NEWLINE",ABBEREXX_NewLine },
  154.     { GROUP_ABBEREXX,"PRINT",ABBEREXX_Print },
  155.     { GROUP_ABBEREXX,"PROMPT",ABBEREXX_Prompt },
  156.     { GROUP_ABBEREXX,"QUERY",ABBEREXX_Query },
  157.     { GROUP_ABBEREXX,"RECEIVE",ABBEREXX_Receive },
  158.     { GROUP_ABBEREXX,"SEND",ABBEREXX_Send },
  159.     { GROUP_ABBEREXX,"SENDSTRING",ABBEREXX_Send },
  160.     { GROUP_ABBEREXX,"SENDFILE",ABBEREXX_SendFile },
  161.     { GROUP_ABBEREXX,"SETNODELOCATION",ABBEREXX_SetNodeLocation },
  162.     { GROUP_ABBEREXX,"SYSOPLOG",ABBEREXX_SysopLog },
  163.     { GROUP_ABBEREXX,"LOGENTRY",ABBEREXX_SysopLog },
  164.  
  165.     { GROUP_System,"ANSIDETECT",SYS_ANSIDetect },
  166.     { GROUP_System,"CHATREQUEST",SYS_ChatRequest },
  167.     { GROUP_System,"DELAY",SYS_Delay },
  168.     { GROUP_System,"DOLOGOFF",SYS_DoLogoff },
  169.     { GROUP_System,"DOLOGON",SYS_DoLogon },
  170.     { GROUP_System,"DOSCOMMAND",SYS_DosCommand },
  171.     { GROUP_System,"EDITPREFS",SYS_EditPrefs },
  172.     { GROUP_System,"EDITUSER",SYS_EditUser },
  173.     { GROUP_System,"LOGON",SYS_Logon },
  174.     { GROUP_System,"PAGEUSER",SYS_PageUser },
  175.     { GROUP_System,"READNEWS",SYS_ReadNews },
  176.     { GROUP_System,"REGISTER",SYS_Register },
  177.     { GROUP_System,"RUNMENU",SYS_RunMenu },
  178.     { GROUP_System,"SHOWSTATS",SYS_ShowStats },
  179.     { GROUP_System,"STARTTIMER",SYS_StartTimer },
  180.     { GROUP_System,"STOPTIMER",SYS_StopTimer },
  181.     { GROUP_System,"USEREDITOR",SYS_UserEditor },
  182.     { GROUP_System,"USERLIST",SYS_UserList },
  183.     { GROUP_System,"VALIDATENEWUSERS",SYS_ValidateNewUsers },
  184.     { GROUP_System,"WHOISONLINE",SYS_WhoIsOnline },
  185.  
  186.     { GROUP_Email,"NEXTEMAIL",EMAIL_Next },
  187.     { GROUP_Email,"CURRENTEMAIL",EMAIL_Current },
  188.     { GROUP_Email,"PREVIOUSEMAIL",EMAIL_Previous },
  189.     { GROUP_Email,"JUMPTOEMAIL",EMAIL_JumpTo },
  190.     { GROUP_Email,"LISTEMAIL",EMAIL_List },
  191.     { GROUP_Email,"WRITEEMAIL",EMAIL_Write },
  192.     { GROUP_Email,"REPLYTOEMAIL",EMAIL_ReplyTo },
  193.     { GROUP_Email,"DELETEEMAIL",EMAIL_Delete },
  194.     { GROUP_Email,"FEEDBACK",EMAIL_Feedback },
  195.     { GROUP_Email,"SHOWNEWEMAIL",EMAIL_ShowNew },
  196.  
  197.     { GROUP_MessageBase,"INITMESSAGEGLOBAL",MSG_InitGlobal },
  198.     { GROUP_MessageBase,"EDITMESSAGESEARCHPATTERNS",MSG_EditSearchPatterns },
  199.     { GROUP_MessageBase,"JOINMESSAGEAREA",MSG_JoinArea },
  200.     { GROUP_MessageBase,"CHANGEMESSAGEAREA",MSG_ChangeArea },
  201.     { GROUP_MessageBase,"PARENTMESSAGEAREA",MSG_ParentArea },
  202.     { GROUP_MessageBase,"NEXTMESSAGEAREA",MSG_NextArea },
  203.     { GROUP_MessageBase,"PREVIOUSMESSAGEAREA",MSG_PreviousArea },
  204.     { GROUP_MessageBase,"NEXTUNREADMESSAGE",MSG_NextUnread },
  205.     { GROUP_MessageBase,"CURRENTMESSAGE",MSG_Current },
  206.     { GROUP_MessageBase,"NEXTTHREAD",MSG_NextThread },
  207.     { GROUP_MessageBase,"PREVIOUSTHREAD",MSG_PreviousThread },
  208.     { GROUP_MessageBase,"JUMPTOTHREAD",MSG_JumpToThread },
  209.     { GROUP_MessageBase,"LISTTHREADS",MSG_ListThreads },
  210.     { GROUP_MessageBase,"NEXTRESPONSE",MSG_NextResponse },
  211.     { GROUP_MessageBase,"PREVIOUSRESPONSE",MSG_PreviousResponse },
  212.     { GROUP_MessageBase,"JUMPTORESPONSE",MSG_JumpToResponse },
  213.     { GROUP_MessageBase,"LISTRESPONSES",MSG_ListResponses },
  214.     { GROUP_MessageBase,"SEARCHNEXTMESSAGE",MSG_SearchNext },
  215.     { GROUP_MessageBase,"CATCHUPMESSAGES",MSG_Catchup },
  216.     { GROUP_MessageBase,"WRITEMESSAGE",MSG_Write },
  217.     { GROUP_MessageBase,"REPLYTOMESSAGE",MSG_ReplyTo },
  218.     { GROUP_MessageBase,"MAILREPLYTOMESSAGE",MSG_MailReplyTo },
  219.     { GROUP_MessageBase,"KILLMESSAGE",MSG_Kill },
  220.     { GROUP_MessageBase,"EDITMESSAGEAREADESCRIPTION",MSG_EditAreaDescription },
  221.  
  222.     { GROUP_FileBase,"INITFILEGLOBAL",FILE_InitGlobal },
  223.     { GROUP_FileBase,"EDITFILESEARCHPATTERNS",FILE_EditSearchPatterns },
  224.     { GROUP_FileBase,"JOINFILEAREA",FILE_JoinArea },
  225.     { GROUP_FileBase,"CHANGEFILEAREA",FILE_ChangeArea },
  226.     { GROUP_FileBase,"PARENTFILEAREA",FILE_ParentArea },
  227.     { GROUP_FileBase,"NEXTFILEAREA",FILE_NextArea },
  228.     { GROUP_FileBase,"PREVIOUSFILEAREA",FILE_PreviousArea },
  229.     { GROUP_FileBase,"NEXTFILE",FILE_Next },
  230.     { GROUP_FileBase,"CURRENTFILE",FILE_Current },
  231.     { GROUP_FileBase,"PREVIOUSFILE",FILE_Previous },
  232.     { GROUP_FileBase,"JUMPTOFILE",FILE_Jump },
  233.     { GROUP_FileBase,"LISTFILES",FILE_List },
  234.     { GROUP_FileBase,"SEARCHNEXTFILE",FILE_SearchNext },
  235.     { GROUP_FileBase,"CATCHUPFILES",FILE_Catchup },
  236.     { GROUP_FileBase,"UPLOAD",FILE_Upload },
  237.     { GROUP_FileBase,"DOWNLOAD",FILE_Download },
  238.     { GROUP_FileBase,"CLEARFILETAGLIST",FILE_ClearTagList },
  239.     { GROUP_FileBase,"EDITFILETAGLIST",FILE_EditTagList },
  240.     { GROUP_FileBase,"TAGFILE",FILE_Tag },
  241.     { GROUP_FileBase,"VIEWARCHIVE",FILE_ViewArchive },
  242.     { GROUP_FileBase,"READTEXTFILE",FILE_ReadTextFile },
  243.     { GROUP_FileBase,"UPLOADFROMDISK",FILE_UploadFromDisk },
  244.     { GROUP_FileBase,"KILLFILE",FILE_Kill },
  245.     { GROUP_FileBase,"MOVEFILE",FILE_Move },
  246.     { GROUP_FileBase,"EDITFILEDESCRIPTION",FILE_EditDescription },
  247.     { GROUP_FileBase,"EDITFILEAREADESCRIPTION",FILE_EditAreaDescription },
  248.  
  249.     { NULL,NULL,NULL }
  250. };
  251.  
  252. /* email */
  253. ULONG email_current;
  254. ULONG email_promptcurrent;
  255. ULONG email_prompthigh;
  256.  
  257. /* message bases */
  258. struct List *message_global;
  259. BYTE message_fullpath[256];
  260. BYTE message_path[256];
  261. BYTE message_area[33];
  262. BYTE message_group[21];
  263. ULONG message_current;
  264. BYTE message_read[256];
  265. ULONG message_currentthread;
  266. ULONG message_promptlowthread;
  267. ULONG message_prompthighthread;
  268. ULONG message_promptcurrentresponse;
  269. ULONG message_prompthighresponse;
  270. BYTE message_frompattern[41];
  271. BYTE message_topattern[41];
  272. BYTE message_subjectpattern[41];
  273. BYTE message_textpattern[41];
  274.  
  275. /* file bases */
  276. struct List *file_global;
  277. struct List *file_taglist;
  278. BYTE file_fullpath[256];
  279. BYTE file_path[256];
  280. BYTE file_area[33];
  281. BYTE file_group[41];
  282. ULONG file_current;
  283. ULONG file_high;
  284. ULONG file_promptlow;
  285. ULONG file_prompthigh;
  286. BYTE file_filepattern[41];
  287. BYTE file_descriptionpattern[41];
  288. BYTE file_uploaderpattern[41];
  289.